身為商業分析師或是資料分析師,我們很常需要到資料庫撈取資料,因此對於資料庫的認識也相當重要~但由於我們並不是資料庫的設計者或是維護者,因此在這一篇文章中主要是會是簡單的介紹資料庫的形式與設計方式,大家心中有一個概念即可。
接著,就讓我們來認識所謂的資料庫吧!
當一間公司裡各個部門隨著時間累積了大筆資料,由於各部門的需求不同,在資料上的格式或式設計上也可能發生資料重複和不一致的情況,長年累月資料的整合與共享也越來越困難,各部門各自維護資料檔案導致重複性工作高,相依性高的資料又不好統一管理,散落在各處的資料該怎麼整理才好呢?
因此!資料庫及資料庫管理系統應運而生!
資料庫透過集中管理的方式讓資料更具有整合和一致性,避免資料上的重複。各個部門根據各自的權限取用相關的資料,達到資料的保密和安全性。
而在資料存取的形式和設計上,又可以分為關聯式資料庫和非關聯式資料庫。
舉凡我們常常聽到的SQL Server、Oracle、MySQL或是PostgreSQL等等,這些都是所謂的關聯式資料庫。
關聯式資料庫的有以下特性:不含重複的紀錄、無順序性、欄位內容是不可再分割的單元值。由於關聯就是表格與表格之間互相聯繫對應起來,因此每一張表都會有外來鍵(Foreign Key)來聯繫各個表格,以及確保資料獨特性的主鍵(Primary Key)。
關聯式資料庫的優點在於表格之間的關聯性值沒有所謂的重複性資料,在處理上效率較高,缺點則是由於其資料的關聯設計,在資料庫拓展上較為受限。
隨著網路的蓬勃發展,非結構性的資料也越來越多,而為了要應付巨量等級的資料儲存和擴充問題,關聯式資料庫的設計已經開始不堪負責,因此非關聯式資料庫-Not Only SQL為了解決上述問題逐漸被各個公司所重視。
相比關聯式資料庫較為嚴謹的設計,非關聯式資料庫以鍵-值(Key-Value)的形式來建構資料,每一筆資料之間沒有關連性,既可以任意切割或調整,也可以分散到不同的伺服器中建立副本。此外,非關聯式資料庫不講求資料同步,只求結果一致,也就是可以忍受資料同步的延遲性。
而它最大的優點便是資料擴充的彈性,能更高效的拓展資料,不過由於目前成熟度仍不足,還是有可能會發生資料衝突或遺失的問題,目前常見的非關聯式資料庫為MongoDB或是Cassandra。
在認識為資料庫後,身為使用者的我們,該用什麼方法來提取資料庫的資料呢?
沒錯~接下來就要來進到學習提取關聯式資料庫的語言-SQL!而這也是資料分析師必備的技能之一!
我們明天見!
參考資料:
https://www.cs.pu.edu.tw/~bcc/93course/ch22.pdf
http://www.tsnien.idv.tw/DataBase_WebBook/chap2/2-4 關聯式資料庫簡介.html
https://dotblogs.com.tw/killysss/2013/02/27/93295
https://www.ithome.com.tw/news/92506
延伸閱讀:
https://www.wun-ching.com.tw/img/Books_files/D049e4-9789862368602-trial.pdf
https://www.gushiciku.cn/pl/p9OM/zh-tw